package com.lab303.powerproject.service;

import com.lab303.powerproject.entity.Device;
import com.lab303.powerproject.pojo.CustomAtlasDevice;
import com.lab303.powerproject.pojo.CustomDevice;

import java.util.List;

public interface DeviceService {

    List getAllDevices();

    void deleteDeviceById(Integer deviceId);

    Device findDeviceById(Integer id);

    List<CustomDevice> findDevices();

    List findDeviceByTypeId(Integer typeId);

    void saveAndUpdateProperties(Device device);

    Device saveAndFlush(Device device);

    int getDeviceNumber(Integer deviceType);

    boolean checkDeviceName(String deviceName);

    List getAllAtlasDevice();

    CustomAtlasDevice findCustomAtlasDeviceById(Integer deviceId);

    void updateDeviceCoordinates(List<Device> list);

    void updateDeviceCoordinatesAndIsInGraph(List<Device> list);

    List getDevicesByGraphId(Integer graphId);

    CustomDevice findCustomDeviceById(Integer deviceId);

    List<Device> findDevicesByGraphId(Integer graphId);

    List getDeviceList();

    List getAtlasDevicesByGraphId(Integer graphId);

    void deleteDeviceByGraphId(Integer graphId);

    List findDevicesByGraphIdAnIsInGraph(Integer graphId,Integer isInGraph);

}
